package top.hkyzf.event;

import com.mojang.logging.LogUtils;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import org.slf4j.Logger;

/**
 * description: 静态注册方式
 * Mod.EventBusSubscriber() 注解用来标注这个类里面的所有打了 @SubscribeEvent 静态方法都是事件处理器
 * Mod.EventBusSubscriber.Bus.MOD 指定要注入到 Mod 总线中
 * 可以使用 EventBusSubscriber 自动订阅包含的类上的事件（这是订阅 MOD 事件总线以接收注册表事件）
 * @see top.hkyzf.OneKeyCommandMod onServerStarting() 实例注册方式
 * @author zhufeng
 * @date 2022/8/5 13:57
 * @version V1.0
 */
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public class RegistryEvents {
    /**
     * 获取一个 slf4j 日志记录器
     */
    private static final Logger LOGGER = LogUtils.getLogger();

    /**
     * 监听方块注册事件
     * @param blockRegistryEvent 方块注册事件
     */
    @SubscribeEvent
    public static void onBlocksRegistry(final RegistryEvent.Register<Block> blockRegistryEvent) {
        // 在这里注册一个新块
        LOGGER.info("注册了一个方块！");
    }
}
